package com.gxa.p2p.mapper;

import com.gxa.p2p.pojo.LoanApplication;
import com.gxa.p2p.pojo.LoanBidsDetail;
import io.swagger.models.auth.In;

import java.util.List;
import java.util.Map;

public interface LoanBidsDetailMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(LoanBidsDetail record);

    int insertSelective(LoanBidsDetail record);

    LoanBidsDetail selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(LoanBidsDetail record);

    int updateByPrimaryKey(LoanBidsDetail record);

    // 查询某个用户投资的所有标的详情信息
    List<LoanBidsDetail> selectByVer(Integer userId,Integer page, Integer limit);
    // 根据标名模糊查询某个用户投资的所有的详情
    List<LoanBidsDetail> selectByVerDim(Integer userId,String str,Integer page, Integer limit);
    // 根据标名模糊查询用户投资记录数
    LoanBidsDetail selectByVerDimCount(Integer userId,String str);
    // 根据标名模糊查询用户的放贷记录数
    LoanBidsDetail selectByDimCount(Integer userId,String str);
    // 查询某用户的发标(借贷)信息
    List<LoanBidsDetail> selectByInfo(Integer userId,Integer page, Integer limit);
    // 统计某个用户的借贷数量
    LoanBidsDetail findUserCount(Integer userId);

    /**
     *  查询表中数据总数和带条件的总数的方法
     * @return 返回总的数据数
     */
    Integer count(Map<String,Object> map);

    /**
     *  分页查询和模糊查询的方法
     * @param map 分页查询和模糊查询的条件
     * @return 返回查询出来的对象
     */
    List<LoanBidsDetail> selectLimitLike(Map<String,Object> map);

    /**
     * 查询全部标的方法
     * @param
     * @return 返回全部查询结果
     */
    List<LoanBidsDetail>findAll();

    /**
     * 根据id查看系统中标的信息
     * @return
     */
    LoanBidsDetail findById(Integer id);

    /**
     * 添加借款信息
     * @param loanBidsDetail
     * @return
     */
    int add(LoanBidsDetail loanBidsDetail);

    /**
     * 首页散标/债权信息
     * @param id
     * @return
     */
    List<LoanBidsDetail>findLooseLabel(Integer id);
}